﻿/*
Nombre:                         ICatalogo
Descripcion:                    Interfaz que agrega funciones especializadas para una tabla de tipo catalogo 
Dependencias:                 
Fecha de creación:              20080904
Autor:                          VMORALES
Fecha de modifcación:         
Responsable:                  
Num. de modifcación:            0
*/

#region Imports

#endregion

namespace Electrocucaracha.AdminPersonal.DAO
{
    /// <summary>
    /// Interfaz que agrega funciones especializadas para una tabla de tipo catalogo 
    /// </summary>
    /// <typeparam name="T">Entidad a definir en la implementacion</typeparam>
    public interface ICatalogo<T>
    {
        /// <summary>
        /// Obtiene solo las entidades que tengan dicha descripcion.  Esta columna destaca en las tablas
        /// consideradas como catalogos
        /// </summary>
        /// <param name="descripcion">Descripcion a contener en el filtro de busqueda</param>
        /// <returns>Entidades que sean tengan la misma descripcion solicitada</returns>
        T[] ObtenerPorDescripcion(string descripcion);

        /// <summary>
        /// Obtiene solo las entidades que contengan en su descripcion el parametro deseado
        /// </summary>
        /// <param name="descripcion">Descripcion a buscar en la columnas</param>
        /// <returns>Entidades que contengan dicho parametro</returns>
        T[] ObtenerPorDescripcionSimilar(string descripcion);
    }//ICatalogo
}//Electrocucaracha.AdminPersonal.DAO
